﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class DanhMuc_LyLichLamViec : System.Web.UI.Page
{
    SecurityLib.Sec_AES _ps = new SecurityLib.Sec_AES();
    protected void Page_Load(object sender, EventArgs e)
    {
        
        if (!IsPostBack)
        {
            btnclose.Attributes.Add("onClick", "javascript:history.back(); return false;");//them su kien vao  button de quay ve trang truoc
            EnabeControls(false);
            BindGrid();
            btnsave.Enabled = false;
            btnedit.Enabled = false;
            btndelete.Enabled = false;
            codeid.Value = "";
        }
    }
    protected void btnadd_Click(object sender, EventArgs e)
    {
        codeid.Value = "";
        if (btnadd.Text == "Thêm mới")
        {
            XoaDuLieu();
            btnadd.Text = "Hủy";
            EnabeControls(true);
            btnsave.Enabled = true;
            btndelete.Enabled = false;
            btnedit.Enabled = false;
        }
        else
        {
            btnadd.Text = "Thêm mới";
            EnabeControls(false);
            btnsave.Enabled = false;
            btndelete.Enabled = true;
            btnedit.Enabled = true;
            XoaDuLieu();
        }
    }
    private void EnabeControls(bool state)
    {
        txtTencongviec.Enabled = state;
        txtDonvicongtac.Enabled = state;
        txtTu.Enabled = state;
        txtDen.Enabled = state;
        txtChucvu.Enabled = state;
        txtThutu.Enabled = state;
        txtMotacongviec.Enabled = state;
        txtLydothoiviec.Enabled = state;
    }
    private void XoaDuLieu()
    {
        txtTencongviec.Text = "";
        txtDonvicongtac.Text = "";
        txtTu.Text = "";
        txtDen.Text = "";
        txtChucvu.Text = "";
        txtThutu.Text = "";
        txtMotacongviec.Text = "";
        txtLydothoiviec.Text = "";
    }
    private void BindGrid()
    {
        _dbDataContext _db = new _dbDataContext();
        string madoanvien = _ps.Decrypt(Request.QueryString["codeunionists"].Replace(" ", "+"),"gold",128);
        var val = from p in _db.tblLyLichLamViecs.Where(r=>r.MaDoanVien.Trim()==madoanvien) select new { ID=p.ID,TenCongViec=p.TenCongViec.Trim(),DonViCongTac=p.TenCongViec.Trim(),ChucVu=p.ChucVu.Trim(),ThoiGian=string.Format("{0:dd/MM/yyyy}",p.TuNgay),DenNgay=string.Format("{0:dd/MM/yyyy}",p.DenNgay)};
        grid.DataSource = val.ToList();
        grid.DataBind();
    }
    protected void btnsave_Click(object sender, EventArgs e)
    {
        string madoanvien = _ps.Decrypt(Request.QueryString["codeunionists"].Replace(" ", "+"),"gold",128);
        int thutu;
        bool chuyen = int.TryParse(txtThutu.Text, out thutu);
        if (codeid.Value == "")//truong hoi them moi
        {
            bool success = CatalogAccess.InsertLyLichLamViec(txtTencongviec.Text,txtDonvicongtac.Text,txtTu.Text,txtDen.Text,txtChucvu.Text,thutu,txtMotacongviec.Text,txtLydothoiviec.Text,madoanvien);
            if (success)
            {
                BindGrid();
                lblmessage.Text = "Đã thêm thành công.";
                lblmessage.Visible = true;
                EnabeControls(false);
                btnadd.Text = "Thêm mới";
            }
            else
            {
                lblmessage.Text = "Không thêm được, hãy kiểm tra lại thông tin.";
                lblmessage.Visible = true;
            }
        }
        else//truong  hop update
        {
            bool success = CatalogAccess.UpdateLyLichLamViec(int.Parse(codeid.Value),txtTencongviec.Text, txtDonvicongtac.Text, txtTu.Text, txtDen.Text, txtChucvu.Text, thutu, txtMotacongviec.Text, txtLydothoiviec.Text);
            if (success)
            {
                BindGrid();
                lblmessage.Text = "Đã cập nhật thành công.";
                lblmessage.Visible = true;
                btnsave.Enabled = false;
                btnedit.Text = "Hiệu chỉnh";
                btnadd.Enabled = true;
            }
            else
            {
                lblmessage.Text = "Không không cập nhật được, hãy kiểm tra lại thông tin.";
                lblmessage.Visible = true;
            }
        }
    }
    protected void btnedit_Click(object sender, EventArgs e)
    {
        if (btnedit.Text == "Hiệu chỉnh")
        {
            EnabeControls(true);
            btnadd.Enabled = false;
            btnsave.Enabled = true;
            btndelete.Enabled = false;
            btnedit.Text = "Hủy";
        }
        else
        {
            btnedit.Text = "Hiệu chỉnh";
            btndelete.Enabled = true;
            btnsave.Enabled = false;
            btnadd.Enabled = true;
            EnabeControls(false);
        }
    }
    protected void btndelete_Click(object sender, EventArgs e)
    {
        bool success = CatalogAccess.DeleteLyLichCongViec(int.Parse(codeid.Value));
        if (success)
        {
            BindGrid();
            XoaDuLieu();
        }
        else
        {
            lblmessage.Text = "Không không cập nhật được, hãy kiểm tra lại thông tin.";
            lblmessage.Visible = true;
        }
    }
    protected void grid_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        int id = int.Parse(grid.DataKeys[e.RowIndex].Value.ToString());
        codeid.Value = id.ToString();
        _dbDataContext _db = new _dbDataContext();
        var val = _db.tblLyLichLamViecs.Single(r => r.ID == id);
        txtTencongviec.Text = val.TenCongViec.Trim();
        txtDonvicongtac.Text = val.CongTy.Trim();
        txtTu.Text = string.Format("{0:dd/MM/yyyy}",val.TuNgay);
        txtDen.Text = string.Format("{0:dd/MM/yyyy}",val.DenNgay);
        txtChucvu.Text = val.ChucVu.Trim();
        txtThutu.Text = val.ThuTu.ToString();
        txtMotacongviec.Text = val.MoTaCongViec.Trim();
        txtLydothoiviec.Text = val.LyDoThoiViec.Trim();
        lblmessage.Text = "";
        lblmessage.Visible = false;
        btnedit.Enabled = true;
        btndelete.Enabled = true;
        btnadd.Text = "Thêm mới";
        btnsave.Enabled = false;
    }
}